package xcmg.device.service.vo.order;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import xcmg.device.dao.entity.order.GpsMmSwOrderLabelDO;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 转包单head表 VO类
 */
@ToString
@Data
public class SubcontractingOrderVO implements Serializable {
    private static final long serialVersionUID = -1L;
    @ApiModelProperty(value = "转包单ID，主键", name = "id")
    private String id;
    @ApiModelProperty(value = "转包单号码", name = "code")
    private String code;
    @ApiModelProperty(value = "订单ID", name = "orderId")
    private Long orderId;
    @ApiModelProperty(value = "订单号码", name = "orderNo")
    private String orderNo;
    @ApiModelProperty(value = "到货工厂", name = "factory")
    private String factory;
    @ApiModelProperty(value = "订单类型", name = "orderType")
    private String orderType;
    @ApiModelProperty(value = "供应商代码", name = "supplierNo")
    private String supplierNo;
    @ApiModelProperty(value = "供应商名称", name = "supplierName")
    private String supplierName;
    @ApiModelProperty(value = "交货日期", name = "arriveDate")
    private Date arriveDate;
    @ApiModelProperty(value = "出货地代码", name = "supPlaceNo")
    private String supPlaceNo;
    @ApiModelProperty(value = "订单时间", name = "orderDate")
    private Date orderDate;
    @ApiModelProperty(value = "供应商组织ID", name = "supplierOrgId")
    private String supplierOrgId;
    @ApiModelProperty(value = "组织ID", name = "orgId")
    private String orgId;
    @ApiModelProperty(value = "转包单状态,0创建  1入库部分完成 2入库完成   3部分出库  4出库完成 5:强制结单", name = "state")
    private Integer state;

    @ApiModelProperty(value = "发货状态,0未创建  1已经创建发货单", name = "deliveryState")
    private Integer deliveryState;
    @ApiModelProperty(value = "入库时间", name = "inTime")
    private Date inTime;
    @ApiModelProperty(value = "出库库时间", name = "outTime")
    private Date outTime;
    @ApiModelProperty(value = "新增时间", name = "createdTime")
    private Date createdTime;
    @ApiModelProperty(value = "更新时间", name = "updatedTime")
    private Date updatedTime;
    @ApiModelProperty(value="更新人",name="updateId")
    private String updateId;

    private String updateName;

    private List<SubcontractingOrderDetailVO> details;

    private List<GpsMmSwOrderLabelDO> labels;

    private String warehouseCode;
    private String areaCode;
    private String locationCode;

    @ApiModelProperty(value = "下游企业orgId")
    private String downOrgId;
    @ApiModelProperty(value = "转包单号码模糊查询", name = "codeLike")
    private String codeLike;
    @ApiModelProperty(value = "供应商模糊查询", name = "supplierLike")
    private String supplierLike;
    @ApiModelProperty(value = "订单号码模糊查询", name = "orderNoLike")
    private String orderNoLike;
    private Date createdTimeStart;
    private Date createdTimeEnd;
}
